1. Field of the Invention
The present invention generally relates to data evaluation systems and methods. More particularly, the invention relates to financial systems and methods that use an encapsulated engine to perform evaluation and calculation of data sets.
2. Background Information
Financial environments have become increasingly complex. Developers of computer systems and programs for these environments need to take into consideration an array of different factors and issues. As a result, any newly developed system or program, that aims at effectively dealing with the challenges of the financial sector, is typically developed on a case-by-case basis, and is limited to the specific application for which it was developed.
In recent years, programmers have devoted considerable effort to developing programs that are somewhat adaptable to different situations, so as to reduce the need to create and reprogram source code. Accordingly, such engines, although perhaps providing significant adaptability, are still application-specific engines and would require substantial code revision to be re-used in other applications.
The specific business environments for which the financial programs are developed are as varied as the companies and industries in which they exist. The differences include, for example, country-related factors and industry-related factors.
The country-related factors include various legal environments, for example, different tax laws; or different accounting methods, for example, the “declining balance method” used in Japan and Korea or the depreciation on the group asset level used in the USA.
Industry-related factors relate to the way assets are accounted for in different industries and the available business records. Often, the usage of accounting information may be provided in an industry standard or proprietary format. Accordingly, accounting, as well as, financial programs are generally designed on a case-by-case basis to handle particular types of data and specific data structures.
In order to deal with multiple factors, ready-made financial programs are usually inadequate and companies decide to custom-design programs for particular applications so as to support, for example, externally-defined data according to client-defined rules. However, the process of developing custom code on a per application basis is expensive, disruptive to the company's business, and unreliable. Significant company resources are often devoted to educating the developers, providing test data, analysing the test results and troubleshooting the program. In addition, due to the complexity of developing custom code from basic principles, the resulting programs are prone to errors or inadequate performance and may take significant time to develop into satisfactory products.